package com.kuaimacode.kframework.mybatis.models.user;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author 12786 on 2019/4/2.
 * @version 1.0
 */
@Data
public class UserDrawApply {


    @ApiModelProperty(value = "id")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @TableId("user_id")
    @ApiModelProperty(value = "用户ID")
    private Long userId;

    @TableId("account_id")
    @ApiModelProperty(value = "银行卡账户id")
    private Long accountId;

    @ApiModelProperty(value = "申请编号")
    @TableId("apply_no")
    private String applyNo;

    @ApiModelProperty(value = "申请金额")
    @TableId("apply_amount")
    private String applyAmount;

    @ApiModelProperty(value = "申请状态1申请中2已同意")
    @TableId("apply_status")
    private String applyStatus;

    @ApiModelProperty(value = "状态0无效1有效")
    @TableId("status")
    private String status;

    @ApiModelProperty(value = "申请日期")
    @TableId("apply_date")
    private Date applyDate;

    @ApiModelProperty(value = "创建时间")
    @TableId("create_dt")
    private Date createDt;

    @ApiModelProperty(value = "更新时间")
    @TableId("update_dt")
    private Date updateDt;


    @ApiModelProperty(value = "备注")
    @TableId("remark")
    private String remark;

    @ApiModelProperty(value = "冻结金额")
    @TableId("block_amount")
    private String blockAmount;

    @ApiModelProperty(value = "拒绝原因")
    @TableId("reason")
    private String reason;

    @ApiModelProperty(value = "提现手续费比例")
    @TableId("ratio")
    private BigDecimal ratio;

    @ApiModelProperty(value = "提现类型 1普通余额 2代收货款余额")
    @TableId("account_type")
    private Integer accountType;


    @ApiModelProperty(value = "交易后余额")
    @TableId("tran_amount")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "##0.00") //精度保留2位小数
    private BigDecimal tranAmount;

    @ApiModelProperty(value = "手续费")
    @TableId("brokerage")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "##0.00") //精度保留2位小数
    private BigDecimal brokerage;

    @ApiModelProperty(value = "实际金额")
    @TableId("reality_amount")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "##0.00") //精度保留2位小数
    private BigDecimal realityAmount;

    @ApiModelProperty(value = "处理人")
    @TableId("process_name")
    private String processName;
}
